package com.ruoyi.web.pojo.request.warning;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.web.domain.warning.WarningConfig;
import com.ruoyi.web.utils.BasePageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
public class WarningConfigRequest extends BasePageQuery {

    @ApiModelProperty("是否启用 0 启用 1 不启用")
    private Integer isEnable;

    @ApiModelProperty("因子key 全部不传")
    private String factorKey;

    @ApiModelProperty("因子类型 全部不传")
    private String factorType;

    @ApiModelProperty("预警等级 1 一级 2 二级 3 三级")
    private String warningLevel;

    /**
     * @desc  构建查询条件
     * @author fwx 2024/2/1 14:25
     **/
    public void bulidWrapper(QueryWrapper<WarningConfig> query){
        //是否启用
        if(this.getIsEnable() != null){
            query.lambda().eq(WarningConfig::getIsEnable,this.getIsEnable());
        }

        //预警等级
        if(StringUtils.isNotBlank(this.getWarningLevel())){
            query.lambda().eq(WarningConfig::getWarningLevel,this.getWarningLevel());
        }

        //因子key
        if(StringUtils.isNotBlank(this.getFactorKey())){
            query.lambda().eq(WarningConfig::getFactorKey,this.getFactorKey());
        }

        //因子类型
        if(StringUtils.isNotBlank(this.getFactorType())){
            query.lambda().eq(WarningConfig::getFactorType,this.getFactorType());
        }

        query.lambda().orderByDesc(WarningConfig::getCrtTime);

    }
}
